/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2019/3/31 10:00
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.task.callback;

import com.hyacinth.task.result.WorkResult;

/**
 * 作业回调接口
 * @author zhangfb
 * @version 1.0.0.1
 * @since JDK 1.8
 */
public interface WorkCallback<T> {

    /**
     * 作业开启
     * @param workId 任务id
     */
    void workStarted(String workId);

    /**
     * 作业局部数据
     * @param workResult 执行结果
     */
    void workPartialData(WorkResult<T> workResult);

    /**
     * 作业完成
     * @param workResult 执行结果
     */
    void workFinished(WorkResult<T> workResult);

    /**
     * 作业执行异常
     * @param e 异常栈
     * @param worker 任务
     */
    void workException(Exception e, T worker);

}
